package com.gzlg.hospital.service;

import com.github.pagehelper.PageInfo;
import com.gzlg.hospital.pojo.*;
import com.gzlg.hospital.pojo.query.hQuery;

import java.util.List;
import java.util.Map;

public interface DoctorService {
    //  通过id查询医生
    public Doctor getDoctorById(Integer id);
    //  通过账号查询医生
    public Doctor getDoctorByAccount(String account);
    //护士处理挂号
    public PageInfo<Registration> listRegistration(hQuery hQuery);
    //医生查看处理挂号
    public PageInfo<Appointment_details> listAppointmentDetailsByDoctorId(Integer doctor_id,hQuery hQuery);
    //医生查看全部病历
    public PageInfo<Medical_record> listMedicalRecord(hQuery hquery);
    //医生通过患者查看病历
    public PageInfo<Medical_record> listMedicalRecordByPatientId(Integer patient_id,hQuery hQuery);
    //医生通过挂号查看处理
    public PageInfo<Appointment_details> listAppointmentDetailsByRegistrationIdDoctorId(Map<String, Integer> map, hQuery hQuery);
    //查找患者信息
    public Patient  getPatientById(Integer patient_id);
    //查找挂号信息
    public Registration  getRegistrationById(Integer registration_id);
    //护士修改挂号信息
    public Boolean updateRegistration(Map<String, Object> map);
    //添加处理信息
    public Boolean addAppointmentDetails(Appointment_details appointment_details);
    //通过科室查找房间号
    public List<Consultation_room> getRoomsByDepartment(String department);
    //添加病历信息
    public Boolean addMedicalRecord(Medical_record medical_record);
    public Boolean addMedicalRecord2(Medical_record medical_record);
    public Boolean updateAppointmentDetails(Integer registration_id);
    public Boolean updateRegistrationStatus(Integer id);
    public PageInfo<Schedule> listScheduleByDoctorId(Integer doctor_id,hQuery hQuery);

    public Boolean DoctorByStatus1(Integer doctor_id);
    public Boolean DoctorByStatus0(Integer doctor_id);
    public Boolean ScheduleStart(Integer id);
    public Boolean ScheduleEnd(Integer id);
    public Schedule getScheduleById(Integer id);
    public PageInfo<Schedule> listScheduleByDate(Map<String ,Object>  map,hQuery hQuery);
    public Integer getConsultationRoomId(String roomNumber);
}
